import { SceneMode, ShadowMode, MapMode2D } from 'cesium'

const creditContainer = document.createElement('div')
const creditViewport = document.createElement('div')
export const DEFAULT_CONFIG = {
  skyBox: false, // 关闭天空盒
  skyAtmosphere: false, // 关闭蓝天与地球四肢的光芒
  sceneMode: SceneMode.SCENE3D, // 场景显示为3D模式
  scene3DOnly: true, // 场景中几何实体将以3D模式渲染以节省cpu内存
  orderIndependentTranslucency: true, // * 使用顺序无关的半透明性。(不明白此配置的作用，暂时使用默认值)
  // mapProjection: new GeographicProjection(), // 在2D和Columbus View模式下使用的地图投影
  // globe: new Globe(mapProjection.ellipsoid),  // 场景中使用的地球仪。如果设置为 false ，则不会添加任何地球仪。
  useDefaultRenderLoop: true, // 场景渲染循环，禁止关闭。
  useBrowserRecommendedResolution: true, // 忽略window.devicePixelRatio属性，视网膜屏会有模糊效果，但是可以提升渲染性能。
  targetFrameRate: 60, // 设置每秒的帧数。 default: 1000/60。
  showRenderLoopErrors: true, // 界面显示场景渲染发成的错误信息
  contextOptions: {
    // 上下文选项 和 webgl属性
    webgl: {
      alpha: true,
      depth: false,
      stencil: true,
      antialias: true,
      premultipliedAlpha: true,
      preserveDrawingBuffer: true, // 通过canvas.toDataURL()实现截图需要将该项设置为true
      failIfMajorPerformanceCaveat: true
    },
    allowTextureFilterAnisotropic: true
  },
  creditContainer, // 显示版权信息 id or element
  creditViewport, // 创建的弹出窗口的DOM元素或ID
  terrainExaggeration: 1, // 地形缩放倍数
  shadows: true, // 地形投影光线是否来自太阳
  terrainShadows: ShadowMode.DISABLED, // 对象光线投射效果
  mapMode2D: MapMode2D.INFINITE_SCROLL, // 2D地图是可旋转的还是可以在水平方向无限滚动。
  requestRenderMode: false, // 开启惰性渲染
  geocoder: false, // 位置查找
  homeButton: false, // 视角返回
  sceneModePicker: false, // 视角模式
  baseLayerPicker: false, // 图层选择器
  navigationHelpButton: false, // 导航帮助按钮
  animation: false, // 动画控制器
  timeline: false, // 时间轴
  creditsDisplay: false, // 版权信息
  fullscreenButton: false, // 全屏按钮
  vrButton: false, // VR
  maximumRenderTimeChange: 0,
  selectionIndicator: false,
  automaticallyTrackDataSourceClocks: false
}
